The Internet, and its subordinate the Intranet, in its capacity as a client server network has, in recent years, become a major source of information for many people worldwide. With this increased usage of the Internet as a source of information has come an increased desire for access to more and varied information. The Internet entails many different services, however, the World Wide Web (the Web) has become associated with many users as the primary usage of the Internet. While the Web is increasingly becoming the main service being used, there are limitations to the accessing of information due in part to the protocols commonly employed and the capability of the protocol to pass information in various forms. For example, HyperText Transport Protocol (HTTP), the major data exchange protocol employed on the Web, works well for transport of HyperText Markup Language (HTML) documents or files which include text and multimedia components by browsers which support the protocol. However, it is difficult to pass dynamic data back and forth between the client and server. This is particularly true if one wanted to utilize the Internet for access to various databases of information with the information being used by other applications or programs on a client computer.
Images in particular present problems if the intent is to use the image in applications or programs other than a browser program. Currently picture images are displayed over the Internet on a web page as low resolution bitmaps and have an acceptable appearance on the screen because of the low (72 dpi) resolution of the display screen. These bitmap images can be printed locally by the client with reasonable, but less than photographic quality, on today's ink jet printers. There are many different image formats in use and if a program wishes to view or use an image, support for each of the image formats must be coded into the program. Each time a programmer wishes to access and use an image in an application, the resources for doing so must be coded in the application. In addition if the images are being accessed over a network, resources for the network protocol may also have to be provided. Presently, there is only one protocol defined to allow access of images over the Internet, namely, the Internet Image Protocol, or IIP. IIP has deficiencies in that it can only work through MTTP support networks. as such, applictions using network access for images must provide MTTP procedure calls as well as be able to process individual image file formats. It would be much simpler if the image accessing were standardized through a standard which also allows for platform, and transport independence such that a programmer could provide access to all image types or all platforms over any transport protocol by merely coding access to the common standard.
There are a number of computer graphic programs which store various objects and use these objects to render the final image. Generally, these computer programs can be divided into vector based graphic programs or bitmap based programs. COREL DRAW.TM. is primarily vector based whereas PHOTOSHOP.TM. is essentially bitmap based. These known graphic packages allocate enough temporary storage for the entire rendered image and then render each object, one by one, into that temporary storage. This approach fully renders lower objects prior to rendering upper objects. The programs require substantial memory in rendering the final image. Some programs use layers to allow flexibility in changing the final image, however, each layer is effectively a duplicate bitmap the size of the original base bitmap. Layers add flexibility in changing the design or returning to an earlier design, but substantial additional memory is required.
The final image of graphic packages is typically sent to a raster device for output, which renders the image on a scan line by scan line basis. The final image is defined by a host of scan lines, each representing one row of the bitmap image. Raster devices include printers, computer screens, television screens, etc.
Vector based graphic programs, such as COREL DRAW.TM., produce a bitmap of the final image for the raster device. Similarly, the graphic program PHOTOSHOP.TM. produces a bitmap of the final image.
Vector based drawings tend to use little storage before rendering, as simple descriptions often produce largely significant results. Vector drawings are usually resolution independent and they are typically made up of a list of objects, described by a programming language or by some other symbolic representation. Bitmap images, in contrast, are a rectangular array of pixels wherein each pixel has an associated colour or grey level. This type of image has a clearly defined resolution (the size of the array). Each horizontal row of pixels of the bitmap is called a scan line. Bitmaps tend to use a great deal of storage, but they are easy to work with because they have few properties.
The problems associated with rendering an image and the memory requirements are further complicated where the image is being transmitted over a network such as Internet or an Intranet network. The time required to transmit an image, particularly a high quality image for reproduction on a printer, is excessive and the demands on the memory of the personal computer are also high.
Currently picture images are displayed over the Internet on a web page as low resolution bitmaps and have an acceptable appearance on the screen because of the low (72 dpi) resolution of the display screen. These bitmap images can be printed locally by the client with reasonable, but less than photographic results, on today's ink jet printers.
With some current technology, these low resolution bitmaps can be "upgraded" on printing to a higher resolution. If rendered at 150 dpi, there is an improvement in quality, but the network transmission time is roughly four times longer and the quality is still not "near photographic".
There are several other problems with this approach:
1. The image content is rendered statically and cannot be modified by the user. PA1 2. The entire image must be transmitted before printing can start. PA1 3. The data is transmitted as a 24-bit image. PA1 4. As the images are prerendered, colour correction for the user's printer cannot be applied to give the best quality of images.
An image rendered at 72 dpi on the screen and printed at 720 dpi is typically what is done by today's Internet browser applications (such as Netscape and Internet Explorer) on a typical home ink jet printer. This results in a poor quality print image, but is improved somewhat by substituting a pre-made higher resolution image at print time. The same image rendered at 360 or 720 dpi provides a dramatically more satisfying "near photographic" quality output, but the time and resources required to do this strain most personal computers using conventional techniques.
For instance, a full page requires:
______________________________________ Print Requirements 360 dpi 720 dpi File Size 32 Mb 129 Mb Transmission Time 3+ hours 6+ hours Memory Requirements 32 Mb-64 Mb 128 Mb-256 Mb Hard Disk Requirements 32 Mb-64 Mb 128 Mb-256 Mb Print Time 5-30 min. 10-60 min. ______________________________________
In many cases, the client simply does not have the resources to store these high quality images before printing.
There remains a need to provide an improved method of defining an image and the interaction of its components as well as a better procedure for rendering an image to various output devices at various resolutions over a network.